home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 1.iso / toolbox / src / exampleCode / opengl / lmwrap / igl / lm.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-11-11  |  3.2 KB  |  101 lines

  1. /*
  2.  * Copyright (c) 1995, Silicon Graphics, Inc.
  3.  *
  4.  * Permission to use, copy, modify, distribute, and sell this software and
  5.  * its documentation for any purpose is hereby granted without fee, provided
  6.  * that the name of Silicon Graphics may not be used in any advertising or
  7.  * publicity relating to the software without the specific, prior written
  8.  * permission of Silicon Graphics.
  9.  *
  10.  * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
  11.  * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
  12.  * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
  13.  *
  14.  * IN NO EVENT SHALL SILICON GRAPHICS BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
  15.  * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER
  16.  * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF THE
  17.  * POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT OF OR IN
  18.  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  19.  *
  20.  * OpenGL(TM) is a trademark of Silicon Graphics, Inc.
  21.  */
  22. /*----------------------------------------------------------------------------
  23.  *
  24.  * file   : lm.h
  25.  *
  26.  * Author : Yusuf Attarwala
  27.  * Date   : Apr 95
  28.  *
  29.  *---------------------------------------------------------------------------*/
  30.  
  31. /* some material, lights and light models */
  32.  
  33. /* materials */
  34.  
  35. #define MAT_BRASS      10
  36. #define MAT_REDPLASTIC 11
  37. #define MAT_SILVER     12
  38. #define MAT_GRNPLASTIC 13
  39.  
  40. static float mat_brass[]  =      {AMBIENT,  0.25,0.15,0.0,
  41.                                   DIFFUSE,  0.65,0.5, 0.35,
  42.                                   SPECULAR, 0.9, 0.6, 0.0,
  43.                                   SHININESS,10.0,
  44.                                   LMNULL };
  45.  
  46. static float mat_silver[] =      {AMBIENT,  0.4, 0.4, 0.4,
  47.                   DIFFUSE,  0.3, 0.3, 0.3,
  48.                   SPECULAR, 0.9, 0.9, 0.95,
  49.                   SHININESS,25.0,
  50.                   LMNULL };
  51.  
  52.  
  53. static float mat_redplastic[] =  {AMBIENT,  0.3, 0.1, 0.1,
  54.                   DIFFUSE,  0.5, 0.1, 0.1,
  55.                   SPECULAR, 0.45,0.45,0.45,
  56.                   SHININESS,30.0,
  57.                   LMNULL };
  58.  
  59. static float mat_grnplastic[] =  {AMBIENT,  0.1, 0.3, 0.1,
  60.                       DIFFUSE,  0.1, 0.5, 0.1,
  61.                       SPECULAR, 0.45,0.45,0.45,
  62.                       SHININESS,30.0,
  63.                       LMNULL };
  64.  
  65.  
  66.  
  67. /* light models */
  68.  
  69. #define LTM_INFINITE   20
  70. #define LTM_LOCAL      21
  71. #define LTM_INF_TWO    22
  72.  
  73. static float infinite[] =         {AMBIENT, 0.3, 0.3, 0.3,
  74.                                    LOCALVIEWER,0.0,
  75.                                    LMNULL };
  76.  
  77. static float local[] =            {AMBIENT, 0.3, 0.3, 0.3,
  78.                                    LOCALVIEWER,1.0,
  79.                                    ATTENUATION,1.0,0.0,
  80.                                    LMNULL };
  81.  
  82. static float inf_twosided[] =     {AMBIENT, 0.3, 0.3, 0.3,
  83.                                    LOCALVIEWER,0.0,
  84.                                    TWOSIDE,1.0,
  85.                                    LMNULL };
  86.  
  87.  
  88. /* and some lights */
  89.  
  90. #define LT_INF_WHITE   30
  91. #define LT_INF_RED     31
  92.  
  93. static float white_inf_light[] = {LCOLOR,   1.0,1.0,1.0,
  94.                                   POSITION, 0.0,0.0,1.0,0.0,
  95.                                   LMNULL };
  96.  
  97. static float red_inf_light[] =   {LCOLOR,   0.9,0.6,0.6,
  98.                                   POSITION, 1.0,0.0,1.0,0.0,
  99.                                   LMNULL };
  100.  
  101.